前一篇 介紹了 Emacs 編輯 C# 的一些套件及功能,這一篇,我們來看怎樣使用這些功能
先建立一個目錄,目錄底下,執行 $dotnet new console
,產生一個專案
$ dotnet new console
The template "Console Application" was created successfully.
Processing post-creation actions...
Running 'dotnet restore' on /home/vagrant/dotnet/hello/hello.csproj...
Restoring packages for /home/vagrant/dotnet/hello/hello.csproj...
Generating MSBuild file /home/vagrant/dotnet/hello/obj/hello.csproj.nuget.g.props.
Generating MSBuild file /home/vagrant/dotnet/hello/obj/hello.csproj.nuget.g.targets.
Restore completed in 275.56 ms for /home/vagrant/dotnet/hello/hello.csproj.
Restore succeeded.
開啟一個新的檔案 FibonacciGenerator.cs
系統會提示要啟動 omnisharp 後端
如果第一次使用,要先用 Meta-x omnisharp-install-server
安裝 omnisharp 後端,這個只要執行一次即可
以後只要在專案中執行 Meta-x omnisharp-start-omnisharp-server (C-c o s)
或者按 Ctrl-c o s
來啟動後端,它會問你要執行的目錄
選擇完就會有 omnisharp server is ready...
我們來看一下一些設定,先用 Ctrl-h v company-backends
來看 company 程式補全的後端設定,有三組,第一組就是 company-omnisharp
語法檢查的部分,使用 Ctrl-c ! v
來看 flycheck 的設定
程式片段的部分,使用 Meta-x yas-describe-table
來看,預設的程式片段還蠻多的
先打入 using
按 tab 鍵,yasnippet 會顯示可以選擇的程式片段,選第三個加入系統
再來加入 System.Collections.Generic, 自動補全會依照打入的片段來提示
打入 class
會展開程式片段
會顯示各種 overloaded 函式定義,例如
函式參數的提示
flycheck 語法錯誤的提示 FlyC: 2/0
按 Ctrl-c ! l
來看錯誤提示
假設故意放一些括號在函式定義後,然後來存檔
存檔前會自動排版
移動到函式,Eldoc 會在小緩衝區顯示函式的文件
先產生一個 FibonacciGenerate 的物件,Company 自動補全會提示可用的類別
也會補全類別的函式 (method)
跳到函式定義 Meta-x omnisharp-go-to-definition (C-c o j)
或者 Meta-x omnishpar-go-to-definition-other-window (C-c o w)
函式或變數使用情形 Meta-x omnisharp-find-usages(C-c o f)
編輯完成後,可以直接在 Emacs shell (使用 Meta-x shell
啟動) 執行 $dotnet run
相關簡報:簡報
相關程式: Github 請下載後,放在 ~/.emacs.d 下,啟動 Emacs 即可自動安裝相關套件
相關資訊:請參考我的部落格